home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / libfpvm / WIN32 / Pvmfunpack.c < prev    next >
C/C++ Source or Header  |  1997-07-22  |  1KB  |  57 lines

  1.  
  2. /* $Id: Pvmfunpack.c,v 1.1 1997/06/27 16:34:44 pvmsrc Exp $ */
  3.  
  4. #ifdef WIN32
  5. #include "..\..\src\pvmwin.h"
  6. #include <time.h>
  7. #endif 
  8. #include "pvm3.h"
  9. #include "pvm_consts.h"
  10.  
  11. #ifdef WIN32
  12. void __stdcall
  13. #else
  14. void  __fortran
  15. #endif
  16. PVMFUNPACK (what, vp, cnt, std, info)
  17.    int *what, *cnt, *std, *info;
  18.  
  19. #ifdef __STDC__
  20.     void *vp;
  21. #else
  22.     char *vp;
  23. #endif
  24. {
  25.    switch( *what ) {
  26.  
  27.    case BYTE1:
  28.       *info = pvm_upkbyte((char*)vp, *cnt, *std);
  29.       break;
  30.    case INTEGER2:
  31.       *info = pvm_upkshort((short*)vp, *cnt, *std);
  32.       break;
  33.    case INTEGER4:
  34.       *info = pvm_upkint((int*)vp, *cnt, *std);
  35.       break;
  36.    case REAL4:
  37.       *info = pvm_upkfloat((float*)vp, *cnt, *std);
  38.       break;
  39.    case COMPLEX8:
  40.       *info = pvm_upkcplx((float*)vp, *cnt, *std);
  41.       break;
  42.    case REAL8:
  43.       *info = pvm_upkdouble((double*)vp, *cnt, *std);
  44.       break;
  45.    case COMPLEX16:
  46.       *info = pvm_upkdcplx((double*)vp, *cnt, *std);
  47.       break;
  48.    case STRING:
  49.       *info = pvm_upkbyte((char*)vp, *cnt, *std);
  50.       break;
  51.    default:
  52.       *info = PvmBadParam;
  53.       break;
  54.    }
  55. }
  56.  
  57.